﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using QuanLyQuanCafe.BusinessLogic;
using QuanLyQuanCafe.BusinessObject;

namespace QuanLyQuanCafe
{
    public partial class FrmNhomMon : Form
    {
        NhomMonBL nhommonBL = new NhomMonBL();
        MonAnBL monanBL = new MonAnBL();
        public FrmNhomMon()
        {
            InitializeComponent();
        }

        private void FrmNhomMon_Load(object sender, EventArgs e)
        {
            dataGridView1.DataSource = nhommonBL.DSNhomMon();
            AnHienButton(false);
        }
        private void AnHienButton(bool flag)
        {
            btnThem.Enabled = !flag;
            btnSua.Enabled = !flag;
            btnXoa.Enabled = !flag;
            btnLuu.Enabled = flag;
            btnHuy.Enabled = flag;

            tbMaNhom.Enabled = flag;
            tbTenNhom.Enabled = flag;
            dataGridView1.Enabled = !flag;
        }

        private void CapNhatText()
        {
            tbMaNhom.Text = "";
            tbTenNhom.Text = "";
        }


        private void dataGridView1_RowEnter(object sender, DataGridViewCellEventArgs e)
        {
             int row = e.RowIndex;
            try
            {
                tbMaNhom.Text = dataGridView1.Rows[row].Cells["MaNhom"].Value.ToString();
                tbTenNhom.Text = dataGridView1.Rows[row].Cells["TenNhom"].Value.ToString();
               
            }
            catch
            {

            }
        }

        private void btnThem_Click(object sender, EventArgs e)
        {
             AnHienButton(true);
            CapNhatText();
            tbMaNhom.Text = "";
        }

        private void btnSua_Click(object sender, EventArgs e)
        {
            AnHienButton(true);
            tbMaNhom.Enabled = false;
        }

        private void btnXoa_Click(object sender, EventArgs e)
        {
             DataTable datatable = monanBL.DSTenMon(tbMaNhom.Text);
             if (datatable.Rows.Count == 0)
             {
                 if (MessageBox.Show("Bạn Có Muốn Xóa Nhóm Món [" + tbTenNhom.Text + "] Không?", "Quản Lý Quán Cafe", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                     if (nhommonBL.XoaNhom(tbMaNhom.Text))
                         FrmNhomMon_Load(sender, e);
             }
             else
             {
                 MessageBox.Show("Nhóm Món Ăn Này Còn Có Món Ăn Chưa Xóa. Không Thể Xóa Nhóm Món Ăn Này.", "Quán Lý Quán Cafe", MessageBoxButtons.OK, MessageBoxIcon.Warning);
             }
        }

        private NhomMonBO LayThongTinNL()
        {
            NhomMonBO nhommonBO = new NhomMonBO();
            nhommonBO.MaNhom = int.Parse(tbMaNhom.Text);
            nhommonBO.TenNhom = tbTenNhom.Text;
            return nhommonBO;
        }
        private void btnLuu_Click(object sender, EventArgs e)
        {
            try
            {
                NhomMonBO nhommonBO = LayThongTinNL();
                if (nhommonBL.CheckNhomMon(nhommonBO.MaNhom))
                {
                    if (nhommonBL.SuaNhom(nhommonBO))
                        FrmNhomMon_Load(sender, e);
                }
                else
                {
                    if (nhommonBL.ThemNhom(nhommonBO))
                        FrmNhomMon_Load(sender, e);
                }
            }
            catch
            {
                MessageBox.Show("Kiểm Lại Các Thông Tin Đã Nhập.", "Quán Lý Quán Cafe", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }

        private void btnHuy_Click(object sender, EventArgs e)
        {
            AnHienButton(false);
        }

      
    }
}
